#include <iostream>
using std::cout;
using std::endl;

void test0(){
    int num = 1;
    int num2 = 2;
    //底层是一个双重const限定的指针
    //引用本身就不能修改绑定
    //const引用还多了一个特点
    //不能通过引用改变其绑定的变量的值
    const int & ref = num;
    /* ref = 100; */
    /* ref = num2; */
}

//一个函数的参数是引用（避免复制）
//而且在函数体中想要确保不会通过这个引用改变实参本体的值
//可以将形参设为const引用
void func(const int & x){
    cout << x << endl;
    /* x = 10; */
}

int main(void){
    test0();
    return 0;
}
